package com.spsoft.vatoutinv.entity.vmsfulloutinvoice;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 数电发票特定业务表
 * </p>
 *
 * @author chenxudong
 * @since 2024-02-04
 */
@Data
@EqualsAndHashCode
@TableName("VMS_FULL_OUTINVOICE_TDYW")
@KeySequence(value = "SEQ_VMS_FULL_OUTINVOICE_TDYW")
public class VmsFullOutInvoiceTdyw implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "TDYW_ID", type = IdType.INPUT)
    private Long tdywId;

    /**
     * 数电发票表主键id
     */
    private Long foidid;

    /**
     * 不动产坐落地址（省）
     * 必须以省、自治区、特别行政区、北京市、天津市、上海市、重庆市任意一个关键词结尾
     */
    @TableField(value = "BDCZLDZS")
    private String bdczldzS;

    /**
     * 不动产坐落地址（市）
     * 必须以市、盟、自治州、地区、区任意一个关键词结尾
     */
    @TableField(value = "BDCZLDZS1")
    private String bdczldzS1;

    /**
     * 不动产坐落地址（详细地址）
     * 必须包含街、路、村、乡、镇、道、巷、号任意一个关键词
     */
    @TableField(value = "BDCZLDZXXDZ")
    private String bdczldzXxdz;

    /**
     * 租赁期起止
     * “租赁期起”+“空格”+“租赁期止”，其中租赁期起、止的格式为yyyy-MM-dd
     */
    private String zlqqz;

    /**
     * 跨地（市）标志
     * Y：是 N：否
     */
    private String kdsbz;

    /**
     * 产权证书/不动产权证号
     * 无“产权证书/不动产权证号”时，填写 “无”
     */
    private String cqzsbh;

    /**
     * 不动产单位代码
     * “不动产单位代码”和“网签合同备案编号”两者只能填一个
     */
    private String bdcdwdm;

    /**
     * 网签合同备案编号
     * “不动产单位代码”和“网签合同备案编号”两者只能填一个
     */
    private String wqhtbabh;

    /**
     * 土地增值税项目编号
     */
    private String tdzzsxmbh;

    /**
     * 核定计税价格
     * 不属于核定计税不动产销售的可不填写
     */
    private BigDecimal hdjsjg;

    /**
     * 实际成交含税金额
     * 若按核定计税价格征税的，为必填
     */
    private BigDecimal sjcjhsje;

    /**
     * 面积单位
     * 只能是平方米、平方千米、公顷、亩、h㎡、k㎡、㎡等
     */
    private String mjdw;

    /**
     * 多方共同购买标志
     * Y：多方共同购买 N：非多方共同购买  当为N或者空时，共同购买方list必须为空
     */
    private String dfgtgmbz;

    /**
     * 特定业务附加信息List
     * 目前只存放共同购买方List
     */
    @TableField(exist = false)
    private List<VmsFullOutInvoiceTdywItem> tdywItemList;

    /**
     * 出行人序号
     */
    private Integer cxrxh;

    /**
     * 出行人
     */
    private String cxr;

    /**
     * 出行人证件类型
     * 100：单位
     * 101：组织机构代码证
     * 102：营业执照
     * 103：税务登记证
     * 199：其他单位证件
     * 200：个人
     * 201：居民身份证
     * 202：军官证
     * 203：武警警官证
     * 204：士兵证
     * 205：军队离退休干部证
     * 206：残疾人证
     * 207：残疾军人证（1-8 级）
     * 208：外国护照
     * 209：港澳同胞回乡证
     * 210：港澳居民来往内地通行证
     * 211：台胞证
     * 212：中华人民共和国往来港澳通行证
     * 213：台湾居民来往大陆通行证
     * 214：大陆居民往来台湾通行证
     * 215：外国人居留证
     * 216：外交官证
     * 217：使（领事）馆证
     * 218：海员证
     * 219：香港永久性居民身份证
     * 220：台湾身份证
     * 221：澳门特别行政区永久性居民身份证
     * 222：外国人身份证件
     * 223：高校毕业生自主创业证
     * 224：就业失业登记证
     * 225：退休证
     * 226：离休证
     * 227：中国护照
     * 228：城镇退役士兵自谋职业证
     * 229：随军家属身份证明
     * 230：中国人民解放军军官转业证书
     * 231：中国人民解放军义务兵退出现役证
     * 232：中国人民解放军士官退出现役证
     * 233：外国人永久居留身份证（外国人永久居留证）
     * 234：就业创业证
     * 235：香港特别行政区护照
     * 236：澳门特别行政区护照
     * 237：中华人民共和国港澳居民居住证
     * 238：中华人民共和国台湾居民居住证
     * 239：《中华人民共和国外国人工作许可证》（A 类）
     * 240：《中华人民共和国外国人工作许可证》（B 类）
     * 241：《中华人民共和国外国人工作许可证》（C 类）
     * 291：出生医学证明
     * 299：其他个人证件
     */
    private String cxrzjlxdm;

    /**
     * 有效身份证件号
     */
    private String sfzjhm;

    /**
     * 出行日期;格式：yyyy-MM-dd
     */
    private String chuxrq;

    /**
     * 旅客出发地
     */
    private String cfd;

    /**
     * 旅客到达地
     */
    private String ddd;

    /**
     * 交通工具类型
e     */
    private String jtgjlxdm;

    /**
     * 座位等级
     * 1、交通工具为火车时：
     * 一等座、二等座、软席（软座、软卧）、硬席（硬座、硬卧）
     * 2、交通工具为飞机时：
     * 公务舱、头等舱、经济舱
     * 3、交通工具为船舶（不包括旅游船）时：
     * 一等舱、二等舱、三等舱
     */
    private String zwdj;

}
